วิธีอัปโหลดไฟล์ด้วย WinSCP ไปยัง Server Website ที่ตั้งค่าใน EC2
บทความนี้ ผมจะมาเขียนต่อจาก วิธี Install PHP 8 and Apache ใน Amazon Linux 2 ของ EC2
WinSCP คืออะไร
WinSCP (วินเอสซีพี) คือ โปรแกรมสำเร็จรูปที่ใช้สำหรับอัพโหลดและดาวน์โหลดไฟล์ผ่าน Protocol FTP จากคอมพิวเตอร์ของผู้ใช้ไปยัง Server นอกจากนี้โปรแกรม WinSCP เป็นโปรแกรมที่สามารถดาวน์โหลดมาใช้ได้ฟรีเพราะเป็น Open Source บนระบบปฏิบัติการ Windows
FTP (File Transfer Protocol) เป็น Protocol ซอฟต์แวร์ที่เปิดใช้งานการถ่ายโอนไฟล์จากอุปกรณ์เครื่องหนึ่งไปยังอีกเครื่องหนึ่ง แต่เป็นวิธีการแบบเก่าที่ไม่ค่อยได้ใช้ในปัจจุบัน เนื่องจากมีปัญหาด้านความปลอดภัย
SCP (Secure Copy Protocol) เป็นวิธีการส่งข้อมูลที่ปลอดภัย ซึ่งถูกนำมาใช้แทน FTP ในปัจจุบัน
สิ่งที่จำเป็นต้องมี
1. ก่อนที่จะอ่านบทความนี้ ต้องทำการเปิดการใช้งาน EC2 Instance ก่อน หรือถ้ายังไม่มี EC2 Instance สามารถดูวิธีการได้ที่ลิงก์ด้านล่างนี้
- วิธีติดตั้ง Amazon Linux บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTy
- หลังจากติดตั้ง EC2 Instance เสร็จเรียบร้อยแล้ว !แนะนำ ให้ทำการเชื่อมโยง EIP ไปยัง EC2 Instance เพื่อไม่ให้เกิดการเปลี่ยน IP Address
- วิธีเชื่อมโยง Elastic IP (EIP) ไปยัง EC2 Instance
2. ต้องทำการ Install PHP 8 and Apache ก่อน สามารถดูวิธีการได้ที่ลิงก์ด้านล่าง
- วิธี Install PHP 8.0 and Apache ใน Amazon Linux 2 ของ EC2 (สำหรับ Amazon Linux 2)
- วิธีติดตั้ง PHP 8.2 และ Apache ใน Amazon Linux 2023 บน EC2 (สำหรับ Amazon Linux 2023)
3. สามารถดาวน์โหลดและติดตั้งโปรแกรมได้ที่ลิงก์ด้านล่างนี้
หลังจากที่เปิดการใช้งาน EC2 Instance และเชื่อมต่อเซิร์ฟเวอร์ Amazon Linux EC2 ด้วย PuTTy เสร็จเรียบร้อยแล้ว เรามาเริ่มใช้ WinSCP กันเลย
การอัปโหลดไฟล์ด้วย WinSCP
1. การ Login เข้ามาที่ระบบ Server EC2 ของ WinSCP
ขั้นตอนแรก เปิดโปรแกรม WinSCP
ขึ้นมา
ต่อไปให้ทำการ Login เข้ามาที่ระบบ Server EC2 ของ WinSCP ซึ่งผมจะสาธิตวิธีการ Login ทั้ง 2 วิธีดังนี้
1.1 การ Login แบบ New Site
ให้ตั้งค่า Session ตามนี้
① เลือก New Site
② Host name: Your IP Address
(IP Address ที่คัดลอกมาจาก EC2 Instance)
③ User name: ec2-user
④ คลิก Advanced... |▼
ให้ตั้งค่า Advanced Site Settings ตามนี้
① เลือก Authentication
② คลิก ...
เลือกไฟล์ Your_file_name.ppk
① ไฟล์ที่ถูกดาวน์โหลดมาโดยอัตโนมัติ ค่าเริ่มต้นจะเป็น C:\Users\Your_folder\Downloads\Your_file_name.ppk
② Browse ไฟล์ที่ได้จากการสร้าง Key Pair มาใช้งาน เช่น ec2-tinnakorn.ppk
③ คลิก Open
คลิก OK
คลิก Save |▼
ตั้งค่า Save session as site ตามนี้
① Site name: ec2-tinnakorn
(ใส่ชื่ออะไรก็ได้)
③ คลิก OK
จะเห็นว่ามีชื่อ ec2-tinnakorn
เพิ่มมาแล้ว จากนั้นคลิก Login |▼
1.2 การ Login แบบ PuTTy
คลิก Tools ▼
» เลือก Import Sites...
เลือก Session PuTTy ที่เราได้ Save ไว้ ตัวอย่างนี้คือ ☑ ec2-tinnakorn
» คลิก OK
คลิก Login |▼
หน้าโปรแกรม WinSCP นี้จะแบ่งการทำงานออกเป็น 2 ระบบดังนี้
สีเขียวคือฝั่งเครื่องคอมพิวเตอร์ของผู้ใช้งาน (ฝั่ง Local PC): ให้เข้าไปที่หน้าโฟลเดอร์ที่เก็บไฟล์โปรเจกต์ ในตัวอย่างนี้ไฟล์โปรเจกต์ที่ผมใช้อัพโหลดจะเก็บไว้ที่ ↓ > This PC > Download
สีแดงคือฝั่ง Server EC2 Instance (ฝั่ง Server): เราจะทำการ Copy ไฟล์โปรเจกต์จากเครื่อง User ไปยัง Server EC2 เพื่อแสดงหน้าเว็บไซต์ของเรา ขั้นตอนต่อไปเราจะมาทำในส่วน Server EC2
2. การอัปโหลดไฟล์ด้วย WinSCP
ครั้งแรกที่ Login เข้ามาใน WinSCP ค่าเริ่มต้นโฟลเดอร์ของระบบ Server EC2 Instance จะเป็นชื่อโฟลเดอร์ ec2-user
ซึ่งหลังจากที่ ติดตั้ง PHP 8.2 และ Apache ใน Amazon Linux 2023 บน EC2 ไปแล้ว ระบบจะสร้างโฟลเดอร์ "/www/html/" ใน "/var" ให้โดยอัตโนมัติ ก็ให้เข้าไปที่โฟลเดอร์ปลายทางที่ชื่อ html
(โฟลเดอร์นี้อยู่ใน root)
ดับเบิ้ลคลิกที่โฟลเดอร์ ..
เพื่อออกมาที่หน้า home
ดับเบิ้ลคลิกที่โฟลเดอร์ ..
เพื่อออกมาที่หน้า /<root>
ดับเบิ้ลคลิกที่โฟลเดอร์ var
ดับเบิ้ลคลิกที่โฟลเดอร์ www
ดับเบิ้ลคลิกที่โฟลเดอร์ html
คัดลอกไฟล์จากหน้าจอฝั่ง Local PC ไปที่หน้าจอฝั่ง Server ในโฟลเดอร์ html
3. ตรวจสอบ IP Address ที่เว็บบราวเซอร์
ไปที่หน้า Instance เพื่อ Copy IP Address: ❐ Public IPv4 address
ไปเปิดในเว็บเบราว์เซอร์ Chrome หรือเบราว์เซอร์อื่นๆ อีกครั้ง
จะเห็นว่าสามารถแสดงหน้าเว็บไซต์ได้แล้ว
สรุป
การใช้งาน WinSCP ในบทความนี้เป็นการ Login เข้ามายังหน้าระบบ Server EC2 โดยใช้ข้อมูลจากโปรแกรม PuTTy ซึ่งเป็นการใช้งานที่อำนวยความสะดวกมากๆ เพราะว่า WinSCP จะเชื่อมต่อกับ PuTTy จึงทำให้สามารถดึงข้อมูลที่บันทึกไว้ในโปรแกรม PuTTy มา Login ได้โดยที่ไม่ต้องกรอกข้อมูลใหม่ทุกครั้ง